Message management

ABSTRACT

A mechanism is provided in a data processing system to implement an offensive action management system for acting on offensive messages in a communication platform. A message monitoring component monitors messages posted to the communication platform. Responsive to the message monitoring component detecting a flagged message posted by an offending user to a conversation, a review group selection component identifies a review group of users to determine a downstream action for the flagged message. A poll generation/analysis component presents a poll to the review group of users. The poll presents a set of downstream actions for the flagged message. The poll generation/analysis component determines a downstream action based on results of the poll. A downstream action component automatically performs the determined downstream action on the communication platform.

BACKGROUND

The present application relates generally to an improved data processingapparatus and method and more specifically to mechanisms for onlinesocial media offensive action management.

Online chat may refer to any kind of communication over the Internetthat offers a real-time transmission of text messages from sender toreceiver. Chat messages are generally short in order to enable otherparticipants to respond quickly. Thereby, a feeling similar to a spokenconversation is created, which distinguishes chatting from othertext-based online communication forms such as Internet forums and email.Online chat may address point-to-point communications as well asmulticast communications from one sender to many receivers and voice andvideo chat, or may be a feature of a web conferencing service.

Online chat in a less stringent definition may be primarily any directtext-based or video-based (webcams), one-on-one chat or one-to-manygroup chat, using tools such as instant messengers, Internet Relay Chat(IRC), talkers and possibly multi-user dungeons (MUDs). The expressiononline chat comes from the word chat which refers to informalconversation. Online chat includes web-based applications that allowcommunication—often directly addressed, but anonymous between users in amulti-user environment. Web conferencing is a more specific onlineservice that is often sold as a service and hosted on a web servercontrolled by the vendor.

Social media are computer-mediated technologies that allow the creatingand sharing of information, ideas, career interests, or other forms ofexpression via virtual communities and networks. The variety ofstand-alone and built-in social media services currently availableintroduces challenges of definition. However, there are some commonfeatures. User-generated content, such as text posts or comments,digital photos or videos, and data generated through all onlineinteractions, are the lifeblood of social media. Users createservice-specific profiles for the website or app that are designed andmaintained by the social media organization. Social media facilitate thedevelopment of online social networks by connecting a user's profilewith those of other individuals and/or groups.

Social media use web-based technologies, desktop computers and mobiletechnologies (e.g., smartphones, tablet computers, and wearable devices)to create highly interactive platforms through which individuals,communities and organizations can share, co-create, discuss, and modifyuser-generated content or pre-made content posted online. They introducesubstantial and pervasive changes to communication between businesses,organizations, communities and individuals. Social media changes the wayindividuals and large organizations communicate.

Observers have noted a range of positive and negative impacts fromsocial media use. Social media can help to improve an individual's senseof connectedness with real and/or online communities, and social mediacan be an effective communications or marketing tool for corporations,entrepreneurs, nonprofit organizations, advocacy groups, politicalparties, and governments. At the same time, concerns have been raisedabout possible links between heavy social media use and depression, andeven the issues of cyberbullying, online harassment and “trolling.”

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described herein in the DetailedDescription. This Summary is not intended to identify key factors oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

In one illustrative embodiment, a method is provided in a dataprocessing system comprising at least one processor and at least onememory, the at least one memory comprising instructions executed by theat least one processor to cause the at least one processor to implementan offensive action management system for acting on offensive messagesin a communication platform. The method comprises monitoring, by amessage monitoring component of the offensive action management system,messages posted to the communication platform. The method furthercomprises, responsive to the message monitoring component detecting aflagged message posted by an offending user to a conversation,identifying, by a review group selection component of the offensiveaction management system, a review group of users to determine adownstream action for the flagged message. The method further comprisespresenting, by a poll generation/analysis component of the offensiveaction management system, a poll to the review group of users, whereinthe poll presents a set of downstream actions for the flagged message.The method further comprises determining, by the pollgeneration/analysis component, a downstream action based on results ofthe poll. The method further comprises automatically performing, by adownstream action component of the offensive action management system,the determined downstream action on the communication platform.

In other illustrative embodiments, a computer program product comprisinga computer useable or readable medium having a computer readable programis provided. The computer readable program, when executed on a computingdevice, causes the computing device to perform various ones of, andcombinations of, the operations outlined above with regard to the methodillustrative embodiment.

In yet another illustrative embodiment, a system/apparatus is provided.The system/apparatus may comprise one or more processors and a memorycoupled to the one or more processors. The memory may compriseinstructions which, when executed by the one or more processors, causethe one or more processors to perform various ones of, and combinationsof, the operations outlined above with regard to the method illustrativeembodiment.

These and other features and advantages of the present invention will bedescribed in, or will become apparent to those of ordinary skill in theart in view of, the following detailed description of the exampleembodiments of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention, as well as a preferred mode of use and further objectivesand advantages thereof, will best be understood by reference to thefollowing detailed description of illustrative embodiments when read inconjunction with the accompanying drawings, wherein:

FIG. 1 is a block diagram illustrating an online social network withoffensive action management in accordance with an illustrativeembodiment;

FIG. 2 depicts an example poll interface in accordance with anillustrative embodiment;

FIG. 3 is a flowchart illustrating operation of an offensive actionmanagement system in accordance with an illustrative embodiment;

FIG. 4 is an example diagram of a distributed data processing system inwhich aspects of the illustrative embodiments may be implemented; and

FIG. 5 is an example block diagram of a computing device in whichaspects of the illustrative embodiments may be implemented.

DETAILED DESCRIPTION

Mail clients, instant messaging, and online social networks are theuniversal mechanisms to connect people and information in logical andorganized ways that enable sharing and processing of information betweenusers. The most common mechanisms for sharing and processing informationare the inbox, chat room, wall, activity stream, timeline, and profile.These mechanisms enable one to rapidly share information with others andgather information from others.

In the various forms of social media, there are many messages of mixedquality. Users may flag many messages a day as offensive orinappropriate. In response to a user flagging a message as offensive,the social media platform may force the offending user to wait beforeposting again while an administrator reviews the flagged message. Withthe enormous volume of messages, this wait may be considerable, and theadministrator may not be the best person to consider the context of themessage or the personal preferences of the group.

The illustrative embodiments improves action on offensive messages inonline social networks by providing an offensive action managementmechanism that monitors a posted message for user activity, detects aflagged message, identifies users who are not participating in themessage activity to determine a review group, prompts the review groupto analyze the offense and vote on a downstream action, andautomatically takes a downstream action based on the result of the vote.The mechanism of the illustrative embodiments may require a quorum ofresponses. The mechanism may act on the message by locking, unlocking,deleting, or changing filters for the message for a group of people. Themechanism may act on the message by a consensus edit of the message by atrusted group. The mechanism may isolate different renditions of theoffensive message to the social networks that found it offensive.

Before beginning the discussion of the various aspects of theillustrative embodiments, it should first be appreciated that throughoutthis description the term “mechanism” will be used to refer to elementsof the present invention that perform various operations, functions, andthe like. A “mechanism,” as the term is used herein, may be animplementation of the functions or aspects of the illustrativeembodiments in the form of an apparatus, a procedure, or a computerprogram product. In the case of a procedure, the procedure isimplemented by one or more devices, apparatus, computers, dataprocessing systems, or the like. In the case of a computer programproduct, the logic represented by computer code or instructions embodiedin or on the computer program product is executed by one or morehardware devices in order to implement the functionality or perform theoperations associated with the specific “mechanism.” Thus, themechanisms described herein may be implemented as specialized hardware,software executing on general purpose hardware, software instructionsstored on a medium such that the instructions are readily executable byspecialized or general purpose hardware, a procedure or method forexecuting the functions, or a combination of any of the above.

The present description and claims may make use of the terms “a,” “atleast one of,” and “one or more of” with regard to particular featuresand elements of the illustrative embodiments. It should be appreciatedthat these terms and phrases are intended to state that there is atleast one of the particular feature or element present in the particularillustrative embodiment, but that more than one can also be present.That is, these terms/phrases are not intended to limit the descriptionor claims to a single feature/element being present or require that aplurality of such features/elements be present. To the contrary, theseterms/phrases only require at least a single feature/element with thepossibility of a plurality of such features/elements being within thescope of the description and claims.

Moreover, it should be appreciated that the use of the term “component,”if used herein with regard to describing embodiments and features of theinvention, is not intended to be limiting of any particularimplementation for accomplishing and/or performing the actions, steps,processes, etc., attributable to and/or performed by the engine. Acomponent may be, but is not limited to, software, hardware and/orfirmware or any combination thereof that performs the specifiedfunctions including, but not limited to, any use of a general and/orspecialized processor in combination with appropriate software loaded orstored in a machine readable memory and executed by the processor.Further, any name associated with a particular engine is, unlessotherwise specified, for purposes of convenience of reference and notintended to be limiting to a specific implementation. Additionally, anyfunctionality attributed to an engine may be equally performed bymultiple components, incorporated into and/or combined with thefunctionality of another component of the same or different type, ordistributed across one or more components of various configurations.

In addition, it should be appreciated that the following descriptionuses a plurality of various examples for various elements of theillustrative embodiments to further illustrate example implementationsof the illustrative embodiments and to aid in the understanding of themechanisms of the illustrative embodiments. These examples intended tobe non-limiting and are not exhaustive of the various possibilities forimplementing the mechanisms of the illustrative embodiments. It will beapparent to those of ordinary skill in the art in view of the presentdescription that there are many other alternative implementations forthese various elements that may be utilized in addition to, or inreplacement of, the examples provided herein without departing from thespirit and scope of the present invention.

FIG. 1 is a block diagram illustrating an online social network withoffensive action management in accordance with an illustrativeembodiment. The online social network 100 includes a communicationplatform 120 in which a group of participating users 121 engage in aconversation 122. Communication platform may be, for example, Internetrelay chat service, email server, group text service, instant messagingapplication, voice over Internet Protocol (VOIP) service, video chatplatform, social network, message board service, review platform,comment platform, online collaboration service, wiki Web site,multi-user dungeon (MUD) or massively multiplayer online role playinggame (MMORPG), or any other known or yet to be developed communicationplatform. Conversation 122 may be a group chat, email exchange, grouptext, wall, timeline, or the like, provided by communication platform122.

In the depicted example, user 3 enters message 123, which may beconsidered offensive or inappropriate by other users in the group ofparticipating users 121. In current systems, one of participating users121 may flag message 123 as offensive or inappropriate. Communicationplatform 120 may then remove message 123 from view in conversation 122and optionally suspend access to user 3 until message 123 can bereviewed by an administrator.

In accordance with an illustrative embodiment, offensive actionmanagement system 110 communicates with communication platform 120 andincludes message monitoring component 111, review group selectioncomponent 112, poll generation/analysis component 113, and downstreamaction component 114. Message monitoring component 111 monitorsconversation 122 and detects the offensive or inappropriate message 123.In one embodiment, monitoring component 111 may detect when message 123is flagged by a user within the group of participating users 121.

In another embodiment, message monitoring component 111 may performnatural language processing, such as pattern matching to identify knownoffensive words, phrases, known structures of unsolicited messages thatviolate end user licensing agreements or service policies. For example,message monitoring component 111 may scan messages for known swear orcurse words, racial slurs, or other sensitive subject matter.Alternatively, or in addition, message monitoring component 111 may scanmessages for uniform resource locators (URLs) or other indicators ofunsolicited messages that could include commercial scam-ware, viruses,or links to paid Web sites for the purpose of click fraud.

In one embodiment, message monitoring component may detect when thetopic of a message is outside the subject matter of conversation 122.For example, a political post may cause unnecessary turmoil in a hobbygroup, or a sports-related message may derail a work project. Thus,message monitoring component 111 may detect such a message 123 and flagit for review.

Message monitoring component 111 may process a message when it isentered but before display, after display, or after being flagged. Forinstance, message monitoring component 111 may be triggered by a pushevent, where content (each event) is published to a recipient, and therecipient acts on the message. Gnip or Compliance applicationprogramming interfaces (APIs) are common methods for push events.Alternatively, message monitoring component 111 may be triggered by apull event, where content is continuously monitored for an updated entryadded to the message list. In another embodiment, message monitoringcomponent 111 may be triggered by a user interface (UI) event. When anew message is received, message monitoring component 111 detects thepresentation of a specific message view and is triggered when the userspecifically calls for an action via a menu.

Once the act of receiving a message is determined, message monitoringcomponent 111 may extract the content of the message (e.g., topic,grammar, @mention, #hashtag, etc.). Message monitoring component 111 mayonly activate for certain types of messages (e.g., high importance,confidential, containing a specific keyword, or based on a paid/promotedoffering or subject, such as a brand promotion). Thus, messagemonitoring component 111 may activate based on analyzed text.

Once a message is flagged or detected, message monitoring component 111may check the total number of flags and factors in the risk of thelanguage/behavior to generate a risk score. Message monitoring component111 may use a machine learning model to generate the risk score. Themachine learning model may be a linear regression model, a clusteringanalysis model, or the like. Thus, the message monitoring component 111may be trained using a set of training data consisting of knownoffensive or inappropriate messages. Message monitoring component 111then compares the risk score against a threshold. Consider the followingexample:3 flags×5 of 10 for language risk=1.5 risk score

If the minimum threshold is 1, then the message monitoring component 111identifies the message as offensive.

In response to detecting offensive message 123, review group selectioncomponent 112 communicates with communication platform 120 to identify agroup of non-participating users 124, who are not engaging inconversation 122, to serve as a review group for the offensive message123. In one embodiment, review group selection component 112 may requestcommunication platform 120 to randomly identify a predetermined numberof all users not in group 121 to serve as an impartial review group. Inanother embodiment, review group selection component 112 may request agroup of users not in group 121 who volunteer to be included in reviewgroups. In yet another embodiment, review group selection component 112may request users 124 from friends or friends-of-friends of users ingroup 121. Alternatively, review group selection component 112 mayrequest users 124 from friends or friends-of-friends of the offendinguser and the flagging user(s). In another embodiment, review groupselection component 112 may request users 124 from one or more onlinecommunities to which users 121 belong. Thus, review group selectioncomponent 112 may use one or more sets of rules to balance impartialityof users with knowledge of the context of the message. In one exampleembodiment, review group selection component 112 may select the one ormore sets of rules from a user configurable policy (not shown).

Poll generation/analysis component 113 generates poll 125 and presentsthe poll to the group of non-participating users 124 throughcommunication platform 120. Alternatively, poll generation/analysiscomponent 113 may present the poll to the users 124 outsidecommunication platform 120. In the depicted example, the poll 125identifies the user, provides a link to the offending message forreview, and provides a plurality of options for downstream action. Thelink to the offending message may show the message in context. Inanother embodiment, the identity of the offending user may be hidden toprotect against bias.

In the depicted example, the options for downstream action include thefollowing:

1. Suspend: suspend the user from accessing communication platform 120for a predetermined period of time;

2. Reinstate: restore access to the user;

3. Filter message: remove the offending message 123 from conversation122; and,

4. Edit message: perform a consensus edit of the message by a trustedgroup, possibly the review group of users 124.

In an alternative embodiment, poll generation/analysis component 113 maypresent message 123, optionally in the context of conversation 122, tothe group of non-participating users 124 and prompt the users 124 tovote using existing modalities, such as like/unlike, +1, thumbs up/down,favorite or heart, star rating, helpful or unhelpful, etc.

FIG. 2 depicts an example poll interface in accordance with anillustrative embodiment. Poll user interface 200 identifies that aparticular user posted a message flagged as offensive or inappropriate.Poll user interface 200 provides a link 201 to view the offendingmessage in context. Selection of link 201 triggers presentation of themessage within the conversation 122, for example. Poll user interface200 presents a plurality of options for downstream action 203, eachhaving a corresponding radio button 202 for selection. The user selectsa radio button 202 for a chosen downstream action and selects “vote”button 204.

In the depicted example, poll user interface 200 presents the downstreamaction options 203 with current poll results shown as a shaded bar graph205. In an alternative embodiment, poll user interface 200 may hide thepoll results 205 until the user submits a vote by selecting the “vote”button 204.

Poll generation/analysis component 113 receives a result of the poll 125and analyzes the results to determine a downstream action. That is, pollgeneration/analysis component 113 records the votes across the reviewgroup of users 124. Poll generation/analysis component 113 may endvoting after a predetermined time period. Poll generation/analysiscomponent 113 may generate a score based on the voting results. Forexample, poll generation/analysis component 113 may generate a score asa percentage of votes received by the winning action. Pollgeneration/analysis component 113 may require a predetermined number ofvotes (i.e., a quorum) before deciding an action. Pollgeneration/analysis component 113 may also compare the score to apredetermined threshold before deciding on a downstream action.

Downstream action component 114 communicates with communication platform120 to automatically take the determined downstream action based on theresults of the poll/vote. Downstream action component 114 may act onmessage 123 by locking, unlocking, deleting, or changing the filters forthe message for a group of people, such as the group of participatingusers 121. Downstream action component 114 may isolate differentrenditions of the offending message 123 to the social networks, such ascommunication platform 120, that found the message 123 offensive orinappropriate. Downstream action component 114 may act on the message123 by a consensus edit of the message by a trusted group of users.

Offensive action management system 110 may communicate withcommunication platform 120 via application programming interface (API)126. The API 126 may provide access to lists of users and messagesposted by all or a subset of users in all or a subset of conversations.API 126 may also allow offensive action management system 110 to postpolls or other messages to all or a subset of users. In one embodiment,API 126 allows offensive action management system 110 to performcompliance and enforcement actions on users and messages.

In one embodiment, offensive action management system 110 maycommunicate with multiple communication platforms. Tools exist for usersto post a message multiple social networks. For example, a user may makea blog post that triggers a microblogging post on one social networkingplatform and a timeline post on another social networking platform.Offensive action management system 110 may communicate with a pluralityof communication platforms to detect offensive or inappropriatemessages. Offensive action management system 110 may detect when thesame message appears on multiple communication platforms or socialnetworks and generate a single poll to determine a downstream action,taking the determined action on the multiple communication platforms.

In an alternative embodiment, offensive action management system 110 maybe a part of or embedded within communication platform 120.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Java, Smalltalk, C++ or the like,and conventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

FIG. 3 is a flowchart illustrating operation of an offensive actionmanagement system in accordance with an illustrative embodiment.Operation begins (block 300), and a message monitoring component of theoffensive management system monitors posted messages (block 301). Themessage monitoring component determines whether an offensive message isdetected (block 302). The message monitoring component may detect anoffensive message responsive to a user flagging a message as offensiveor inappropriate. Alternatively or in addition, the message monitoringcomponent may analyze the content and syntax of message to detect knownwords or patterns that are likely indicators of an offensive orinappropriate message. If the message monitoring component does notdetect an offensive message, then operation returns to block 301 tomonitor posted messages.

If the message monitoring component detects an offensive message inblock 302, then a review group selection component of the offensiveaction management system identifies users not participating in theconversation in which the offensive message was posted (block 303). Thisgroup of non-participating users serves as a review group to review themessage to determine a downstream action.

A poll generation/analysis component of the offensive action managementsystem generates a poll to determine a downstream action (block 304) andpresents the poll to the identified users (block 305). The pollgeneration/analysis component analyzes the poll results to determine thedownstream action (block 306). Then, a downstream action component ofthe offensive action management system performs the downstream action(block 307). The downstream action may be one or more of the following:locking the message, unlocking the message, suspending the offendinguser, reinstating the offending user, filtering the message from view,or performing a consensus edit of the message. Thereafter, operationreturns to block 301 to monitor subsequent posted messages.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The illustrative embodiments may be utilized in many different types ofdata processing environments. In order to provide a context for thedescription of the specific elements and functionality of theillustrative embodiments, FIGS. 4 and 5 are provided hereafter asexample environments in which aspects of the illustrative embodimentsmay be implemented. It should be appreciated that FIGS. 4 and 5 are onlyexamples and are not intended to assert or imply any limitation withregard to the environments in which aspects or embodiments of thepresent invention may be implemented. Many modifications to the depictedenvironments may be made without departing from the spirit and scope ofthe present invention.

FIG. 4 depicts a pictorial representation of an example distributed dataprocessing system in which aspects of the illustrative embodiments maybe implemented. Distributed data processing system 400 may include anetwork of computers in which aspects of the illustrative embodimentsmay be implemented. The distributed data processing system 400 containsat least one network 402, which is the medium used to providecommunication links between various devices and computers connectedtogether within distributed data processing system 400. The network 402may include connections, such as wire, wireless communication links, orfiber optic cables.

In the depicted example, server 404 and server 406 are connected tonetwork 402 along with storage unit 408. In addition, clients 410, 412,and 414 are also connected to network 402. These clients 410, 412, and414 may be, for example, personal computers, network computers, or thelike. In the depicted example, server 404 provides data, such as bootfiles, operating system images, and applications to the clients 410,412, and 414. Clients 410, 412, and 414 are clients to server 404 in thedepicted example. Distributed data processing system 400 may includeadditional servers, clients, and other devices not shown.

In the depicted example, distributed data processing system 400 is theInternet with network 402 representing a worldwide collection ofnetworks and gateways that use the Transmission ControlProtocol/Internet Protocol (TCP/IP) suite of protocols to communicatewith one another. At the heart of the Internet is a backbone ofhigh-speed data communication lines between major nodes or hostcomputers, consisting of thousands of commercial, governmental,educational and other computer systems that route data and messages. Ofcourse, the distributed data processing system 400 may also beimplemented to include a number of different types of networks, such asfor example, an intranet, a local area network (LAN), a wide areanetwork (WAN), or the like. As stated above, FIG. 4 is intended as anexample, not as an architectural limitation for different embodiments ofthe present invention, and therefore, the particular elements shown inFIG. 4 should not be considered limiting with regard to the environmentsin which the illustrative embodiments of the present invention may beimplemented.

As shown in FIG. 4, one or more of the computing devices, e.g., server404, may be specifically configured to implement an offensive actionmanagement system. The configuring of the computing device may comprisethe providing of application specific hardware, firmware, or the like tofacilitate the performance of the operations and generation of theoutputs described herein with regard to the illustrative embodiments.The configuring of the computing device may also, or alternatively,comprise the providing of software applications stored in one or morestorage devices and loaded into memory of a computing device, such asserver 404, for causing one or more hardware processors of the computingdevice to execute the software applications that configure theprocessors to perform the operations and generate the outputs describedherein with regard to the illustrative embodiments. Moreover, anycombination of application specific hardware, firmware, softwareapplications executed on hardware, or the like, may be used withoutdeparting from the spirit and scope of the illustrative embodiments.

It should be appreciated that once the computing device is configured inone of these ways, the computing device becomes a specialized computingdevice specifically configured to implement the mechanisms of theillustrative embodiments and is not a general purpose computing device.Moreover, as described hereafter, the implementation of the mechanismsof the illustrative embodiments improves the functionality of thecomputing device and provides a useful and concrete result thatfacilitates offensive action management.

As noted above, the mechanisms of the illustrative embodiments utilizespecifically configured computing devices, or data processing systems,to perform the operations for an offensive action management system.These computing devices, or data processing systems, may comprisevarious hardware elements which are specifically configured, eitherthrough hardware configuration, software configuration, or a combinationof hardware and software configuration, to implement one or more of thesystems/subsystems described herein. FIG. 5 is a block diagram of justone example data processing system in which aspects of the illustrativeembodiments may be implemented. Data processing system 500 is an exampleof a computer, such as server 404 in FIG. 4, in which computer usablecode or instructions implementing the processes and aspects of theillustrative embodiments of the present invention may be located and/orexecuted so as to achieve the operation, output, and external affects ofthe illustrative embodiments as described herein.

In the depicted example, data processing system 500 employs a hubarchitecture including north bridge and memory controller hub (NB/MCH)502 and south bridge and input/output (I/O) controller hub (SB/ICH) 504.Processing unit 506, main memory 508, and graphics processor 510 areconnected to NB/MCH 502. Graphics processor 510 may be connected toNB/MCH 502 through an accelerated graphics port (AGP).

In the depicted example, local area network (LAN) adapter 512 connectsto SB/ICH 504. Audio adapter 516, keyboard and mouse adapter 520, modem522, read only memory (ROM) 524, hard disk drive (HDD) 526, CD-ROM drive530, universal serial bus (USB) ports and other communication ports 532,and PCI/PCIe devices 534 connect to SB/ICH 504 through bus 538 and bus540. PCI/PCIe devices may include, for example, Ethernet adapters,add-in cards, and PC cards for notebook computers. PCI uses a card buscontroller, while PCIe does not. ROM 524 may be, for example, a flashbasic input/output system (BIOS).

HDD 526 and CD-ROM drive 530 connect to SB/ICH 504 through bus 540. HDD526 and CD-ROM drive 530 may use, for example, an integrated driveelectronics (IDE) or serial advanced technology attachment (SATA)interface. Super I/O (SIO) device 536 may be connected to SB/ICH 504.

An operating system runs on processing unit 506. The operating systemcoordinates and provides control of various components within the dataprocessing system 500 in FIG. 5. As a client, the operating system maybe a commercially available operating system such as Microsoft® Windows7®. An object-oriented programming system, such as the Java™ programmingsystem, may run in conjunction with the operating system and providescalls to the operating system from Java™ programs or applicationsexecuting on data processing system 500.

As a server, data processing system 500 may be, for example, an IBMeServer™ System p® computer system, Power™ processor based computersystem, or the like, running the Advanced Interactive Executive (AIX®)operating system or the LINUX® operating system. Data processing system500 may be a symmetric multiprocessor (SMP) system including a pluralityof processors in processing unit 506. Alternatively, a single processorsystem may be employed.

Instructions for the operating system, the object-oriented programmingsystem, and applications or programs are located on storage devices,such as HDD 526, and may be loaded into main memory 508 for execution byprocessing unit 506. The processes for illustrative embodiments of thepresent invention may be performed by processing unit 506 using computerusable program code, which may be located in a memory such as, forexample, main memory 508, ROM 524, or in one or more peripheral devices526 and 530, for example.

A bus system, such as bus 538 or bus 540 as shown in FIG. 5, may becomprised of one or more buses. Of course, the bus system may beimplemented using any type of communication fabric or architecture thatprovides for a transfer of data between different components or devicesattached to the fabric or architecture. A communication unit, such asmodem 522 or network adapter 512 of FIG. 5, may include one or moredevices used to transmit and receive data. A memory may be, for example,main memory 508, ROM 524, or a cache such as found in NB/MCH 502 in FIG.5.

As mentioned above, in some illustrative embodiments the mechanisms ofthe illustrative embodiments may be implemented as application specifichardware, firmware, or the like, application software stored in astorage device, such as HDD 526 and loaded into memory, such as mainmemory 508, for executed by one or more hardware processors, such asprocessing unit 506, or the like. As such, the computing device shown inFIG. 5 becomes specifically configured to implement the mechanisms ofthe illustrative embodiments and specifically configured to perform theoperations and generate the outputs described hereafter with regard tothe offensive action management system.

Those of ordinary skill in the art will appreciate that the hardware inFIGS. 4 and 5 may vary depending on the implementation. Other internalhardware or peripheral devices, such as flash memory, equivalentnon-volatile memory, or optical disk drives and the like, may be used inaddition to or in place of the hardware depicted in FIGS. 4 and 5. Also,the processes of the illustrative embodiments may be applied to amultiprocessor data processing system, other than the SMP systemmentioned previously, without departing from the spirit and scope of thepresent invention.

Moreover, the data processing system 500 may take the form of any of anumber of different data processing systems including client computingdevices, server computing devices, a tablet computer, laptop computer,telephone or other communication device, a personal digital assistant(PDA), or the like. In some illustrative examples, data processingsystem 500 may be a portable computing device that is configured withflash memory to provide non-volatile memory for storing operating systemfiles and/or user-generated data, for example. Essentially, dataprocessing system 500 may be any known or later developed dataprocessing system without architectural limitation.

Thus, the illustrative embodiments provide mechanisms for offensiveaction management in online social networks. The mechanisms improveaction on offensive messages by monitoring posted messages for useractivity (e.g., read, like, comment, view), detecting when a message isflagged as offensive or inappropriate, identifying users who are notparticipating in the message or message activity to determine a reviewgroup, prompting the review group to analyze the offense and vote on adownstream action, and automatically taking the downstream action basedon the vote. Thus, the mechanisms of the illustrative embodimentsprovide a crowd-sourced solution to offensive action management, thusreducing or eliminating the need for administrators to review individualmessages. The mechanisms of the illustrative embodiments providefunctional improvement for social media messaging and enhance the userexperience with mail and social networks.

As noted above, it should be appreciated that the illustrativeembodiments may take the form of an entirely hardware embodiment, anentirely software embodiment or an embodiment containing both hardwareand software elements. In one example embodiment, the mechanisms of theillustrative embodiments are implemented in software or program code,which includes but is not limited to firmware, resident software,microcode, etc.

A data processing system suitable for storing and/or executing programcode will include at least one processor coupled directly or indirectlyto memory elements through a communication bus, such as a system bus,for example. The memory elements can include local memory employedduring actual execution of the program code, bulk storage, and cachememories which provide temporary storage of at least some program codein order to reduce the number of times code must be retrieved from bulkstorage during execution. The memory may be of various types including,but not limited to, ROM, PROM, EPROM, EEPROM, DRAM, SRAM, Flash memory,solid state memory, and the like.

Input/output or I/O devices (including but not limited to keyboards,displays, pointing devices, etc.) can be coupled to the system eitherdirectly or through intervening wired or wireless I/O interfaces and/orcontrollers, or the like. I/O devices may take many different formsother than conventional keyboards, displays, pointing devices, and thelike, such as for example communication devices coupled through wired orwireless connections including, but not limited to, smart phones, tabletcomputers, touch screen devices, voice recognition devices, and thelike. Any known or later developed I/O device is intended to be withinthe scope of the illustrative embodiments.

Network adapters may also be coupled to the system to enable the dataprocessing system to become coupled to other data processing systems orremote printers or storage devices through intervening private or publicnetworks. Modems, cable modems and Ethernet cards are just a few of thecurrently available types of network adapters for wired communications.Wireless communication based network adapters may also be utilizedincluding, but not limited to, 802.11 a/b/g/n wireless communicationadapters, Bluetooth wireless adapters, and the like. Any known or laterdeveloped network adapters are intended to be within the spirit andscope of the present invention.

The description of the present invention has been presented for purposesof illustration and description, and is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the describedembodiments. The embodiment was chosen and described in order to bestexplain the principles of the invention, the practical application, andto enable others of ordinary skill in the art to understand theinvention for various embodiments with various modifications as aresuited to the particular use contemplated. The terminology used hereinwas chosen to best explain the principles of the embodiments, thepractical application or technical improvement over technologies foundin the marketplace, or to enable others of ordinary skill in the art tounderstand the embodiments disclosed herein.

What is claimed is:
 1. A computer program product comprising a computerreadable storage medium having a computer readable program storedtherein, wherein the computer readable program, when executed on acomputing device, causes the computing device to implement an offensiveaction management system for acting on offensive messages in acommunication platform, wherein the computer readable program causes thecomputing device to: monitor, by a message monitoring component of theoffensive action management system, messages posted to the communicationplatform; responsive to the message monitoring component detecting aflagged message posted by an offending user to a conversation, identify,by a review group selection component of the offensive action managementsystem, a review group of users to determine a downstream action for theflagged message; present, by a poll generation/analysis component of theoffensive action management system, a poll to the review group of users,wherein the poll presents a set of downstream actions for the flaggedmessage; determine, by the poll generation/analysis component, adownstream action based on results of the poll; and automaticallyperform, by a downstream action component of the offensive actionmanagement system, the determined downstream action on the communicationplatform.
 2. The computer program product of claim 1, wherein monitoringthe messages posted to the communication platform comprises detectingthe flagged message is flagged by at least one user participating in theconversation as offensive or inappropriate.
 3. The computer programproduct of claim 1, wherein identifying the review group of userscomprises identifying a plurality of users not participating in theconversation.
 4. The computer program product of claim 1, wherein theset of downstream actions comprises at least one of the group consistingof: locking the flagged message, unlocking the flagged message,suspending the offending user, reinstating the offending user, filteringthe flagged message, or performing a consensus edit of the flaggedmessage.
 5. The computer program product of claim 2, wherein monitoringthe messages posted to the communication platform further comprises:generating a score for the flagged message based on a number of usersthat flagged the flagged message as offensive or inappropriate; andcomparing the generated score to a predetermined threshold.
 6. Thecomputer program product of claim 1, wherein monitoring the messagesposted to the communication platform comprises performing naturallanguage processing on the messages posted to the communicationplatform.
 7. The computer program product of claim 3, whereinidentifying the review group of users further comprises identifyingfriends or friends-of-friends of users participating in theconversation.
 8. The computer program product of claim 1, whereindetermining the downstream action based on the results of the pollcomprises: generating a score for the determined downstream action; andcomparing the generated score to a predetermined threshold.
 9. Thecomputer program product of claim 1, wherein determining the downstreamaction based on the results of the poll comprises comparing a number ofusers participating in the poll to a predetermined threshold.
 10. Thecomputer program product of claim 1, wherein the offensive actionmanagement system communications with the communication platform via anapplication programming interface.
 11. An apparatus comprising: aprocessor; and a memory coupled to the processor, wherein the memorycomprises instructions which, when executed by the processor, cause theprocessor to an offensive action management system for acting onoffensive messages in a communication platform, wherein the instructionscause the processor to: monitor, by a message monitoring component ofthe offensive action management system, messages posted to thecommunication platform; responsive to the message monitoring componentdetecting a flagged message posted by an offending user to aconversation, identify, by a review group selection component of theoffensive action management system, a review group of users to determinea downstream action for the flagged message; present, by a pollgeneration/analysis component of the offensive action management system,a poll to the review group of users, wherein the poll presents a set ofdownstream actions for the flagged message; determine, by the pollgeneration/analysis component, a downstream action based on results ofthe poll; and automatically perform, by a downstream action component ofthe offensive action management system, the determined downstream actionon the communication platform.
 12. The apparatus of claim 11, whereinmonitoring the messages posted to the communication platform comprisesdetecting the flagged message is flagged by at least one userparticipating in the conversation as offensive or inappropriate.
 13. Theapparatus of claim 12, wherein monitoring the messages posted to thecommunication platform further comprises: generating a score for theflagged message based on a number of users that flagged the flaggedmessage as offensive or inappropriate; and comparing the generated scoreto a predetermined threshold.
 14. The apparatus of claim 11, whereinmonitoring the messages posted to the communication platform comprisesperforming natural language processing on the messages posted to thecommunication platform.
 15. The apparatus of claim 11, whereinidentifying the review group of users comprises identifying a pluralityof users not participating in the conversation.
 16. The apparatus ofclaim 15, wherein identifying the review group of users furthercomprises identifying friends or friends-of-friends of usersparticipating in the conversation.
 17. The apparatus of claim 11,wherein the set of downstream actions comprises at least one of thegroup consisting of: locking the flagged message, unlocking the flaggedmessage, suspending the offending user, reinstating the offending user,filtering the flagged message, or performing a consensus edit of theflagged message.
 18. The apparatus of claim 11, wherein determining thedownstream action based on the results of the poll comprises: generatinga score for the determined downstream action; and comparing thegenerated score to a predetermined threshold.
 19. The apparatus of claim11, wherein determining the downstream action based on the results ofthe poll comprises comparing a number of users participating in the pollto a predetermined threshold.
 20. The apparatus of claim 11, wherein theoffensive action management system communicates with the communicationplatform via an application programming interface.